package mysql

import (
	"database/sql"
	"fmt"

	_ "github.com/go-sql-driver/mysql"
)

type DbLink struct {
	DB     *sql.DB //数据库连接
	Schema string  //数据库名
	Alias  string  //别名
}

// 数据库连接配置
type DbLinkConfig struct {
	Identity     int    `json:"identity"`     //数据库标识
	Alias        string `json:"alias"`        //数据库的别名
	IpPort       string `json:"ipPort"`       //数据数据库的连接地址，ip+端口或者url
	Schema       string `json:"schema"`       //数据库名字
	User         string `json:"user"`         //数据库用户名
	Password     string `json:"password"`     //数据库用户密码
	MaxOpenConns int    `json:"maxOpenConns"` //最大连接数
	MaxIdleConns int    `json:"maxIdleConns"` //最大空闲连接数
}

func QuickStart(ipPort string, user string, password string, dbName string) *sql.DB {
	// dsn := fmt.Sprintf("%s:%s@%s(%s:%d)/%s?loc=Local", "root", "123456", "tcp", "localhost", 3306, "x1_4_log") //loc=Local
	dsn := fmt.Sprintf("%s:%s@%s(%s)/%s?loc=Local", user, password, "tcp", ipPort, dbName) //loc=Local
	db, err := sql.Open("mysql", dsn)
	if err != nil {
		fmt.Println(err)
		return nil
	}
	db.SetMaxOpenConns(5)
	db.SetMaxIdleConns(10)
	return db
}
